package com.yuting.practice;

import java.util.HashMap;
import java.util.Map;

public class OnlyOne {


    public Boolean checkOnlyOne(int[] arr){
        Map<Integer, Integer> map = new HashMap<>();

        for(int i : arr){
            if(map.containsKey(i)){
                return false;
            }else {
                map.put(i, 1);
            }
        }

        return true;
    }

    /**
     * 判断数组中所有的数字是否只出现一次。给定一个数组array，判断数组 array 中是否所有的数字都只 出现过一次。例如，arr = {1, 2, 3}，输出 YES。又如，arr = {1, 2, 1}，输出 NO。约束时间复杂度为 O(n)。
     * @param arr
     * @return
     */
    public String check(int[] arr){
       return  checkOnlyOne(arr)? "YES" : "NO";
    }

    public static void main(String[] args) {

        OnlyOne onlyOne = new OnlyOne();

        int[] test1 = {1,2,3};
        System.out.println(onlyOne.check(test1));

        int[] test2 = {1,2,1};
        System.out.println(onlyOne.check(test2));
    }

}
